<?php

function getConversionUrl($php_self)
{
    $php_self = str_replace('\\', '/', $php_self);
    return $php_self;
}


if (!function_exists('str_replace_ds')) {
    function str_replace_ds($data)
    {
        if (is_array($data)) {
            foreach ($data as $k => $v) {
                // $data[$k]= str_replace('\\','\\/', $v);
                $data[$k] = str_replace('\\', '/', $data[$k]);
            }
        } else {
            if (substr($data, 0, 4) == 'http') {
                $data = str_replace('\\', '/', $data);
            } else {
                $data = 'http://' . $_SERVER['HTTP_HOST'] . str_replace('\\', '/', $data);
            }
        }
        return $data;
    }

}

function str_replace_dsstring($string)
{
    $data = str_replace('\\', '/', $string);
    return $data;
}

function doCurl($url, $type = 0, $data = [])
{
    //第一步
    $ch = curl_init();
    //第二步 配置
    curl_setopt($ch, CURLOPT_URL, $url);
    //增加配置，不让结果默认显示，并且可以接收
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//0是默认值，默认把数据展示   1 不展示数据，可以接收   RETURN返回   TRANSFER转义、运输
    if ($type == 1) {
        //添加配置，告诉curl我要用POST方式请求，因为curl发送请求的方式默认是get
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置POST需要传递的值
    }
    //第三部 执行
    $result = curl_exec($ch);
    // 说明：curl在发送请求后，会默认把数据输出，无法接收
    $result = json_decode($result, 1);
    return $result;
    //第四部 关闭
    curl_close($ch);
}

function xmlToArray($simpleXmlElement)
{
    $simpleXmlElement = (array)$simpleXmlElement;
    foreach ($simpleXmlElement as $k => $v) {
        if ($v instanceof SimpleXMLElement || is_array($v)) {
            $simpleXmlElement[$k] = xmlToArray($v);
        }
    }
    return $simpleXmlElement;
}

//检测传入的值是否为空值
function is_empty_data()
{
    $num_info = func_num_args();  //返回传递给该函数参数的个数
    $data = func_get_args();  // 返回包含所有参数的数组
    $num = 0;

    foreach ($data as $k => $v) {
        if (!empty($v)) {
            $num++;
        }
    }
    if ($num != $num_info) {
        exit(json_encode(['status'=>1,'message'=>'请传递正确参数']));
    } else {
        $is_ture = 1;
        return $is_ture;

    }

}

//检测传入的值是否为空值
/**
 * @param $data array
 * @param $exclude array
 * @return int
 */
function is_empty_array_data($data,$exclude=[])
{   $num = 0;
    foreach ($data as $k => $v) {
        if ( ($v==0 && !is_null($v) && $v!='' ) ||(!empty($v) ) ) {
            $num++;
        }else{
            if(in_array($k,$exclude)){
                $num++;
            }else{
                exit(json_encode(['status'=>1,'message'=>$k.'为空,请优化数据']));
            }
        }
    }
   return true ;
}
//输出接口返回的值
function echo_info($data){
    exit(json_encode($data,JSON_UNESCAPED_SLASHES));
}


